import java.util.Hashtable;
import java.util.Iterator;
import java.util.Set;


public class Noeud {

	private int distance_cible;
	private String nom_ville;
	private Hashtable<Noeud, Integer> arc;
	
	public Noeud(int cible, String p_nom_ville){
		arc = new Hashtable<Noeud, Integer>();
		distance_cible = cible;
		nom_ville = p_nom_ville;
		
	}
	
	public void add_noeud(int distance, Noeud autre_noeud) {
		 arc.put(autre_noeud, distance);
		 if(autre_noeud.distance_avec(this) != distance) autre_noeud.add_noeud(distance, this);
	}
	
	public int distance_avec(Noeud autre_noeud) {
		return (arc.get(autre_noeud) != null)?  arc.get(autre_noeud) : 0;
	}
	
	public  Hashtable<Noeud, Integer> successeur() {
		return arc;
	}
	
	public int getDistance_cible() {
		return distance_cible;
	}
	
	public String getNomVille() {
		return nom_ville;
	}
	
	public void afficher() {
		Set<Noeud> set = arc.keySet();
		Noeud node;

		    Iterator<Noeud> itr = set.iterator();
		    while (itr.hasNext()) {
		      node = itr.next();
		      System.out.println("Distance avec "+ node.getNomVille()+ " = "+distance_avec(node));
		    }
	}
}
